package tutorial;

import gui.RiskGUI;

import org.eclipse.swt.SWT;
import org.eclipse.swt.events.MouseAdapter;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.events.ShellAdapter;
import org.eclipse.swt.events.ShellEvent;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;

import resources.images.ImagesPath;

import com.swtdesigner.SWTResourceManager;

public class StepFourTwo implements TutorialWindow {

	private Label hereYouAreText;
	protected Object result;
	protected Shell shell;
	protected Shell parent;
	private Tutorial tutorial;

	/**
	 * Create the dialog
	 * @param parent
	 * @param tutorial 
	 */
	public StepFourTwo(Shell parent, Tutorial tutorial) {
		this.parent = parent;
		this.tutorial = tutorial;
	}
	
	/**
	 * Open the dialog
	 * @return the result
	 */
	public void open() {
		createContents();
		shell.open();
		shell.layout();
	}

	/**
	 * Create contents of the dialog
	 */
	protected void createContents() {
		shell = new Shell(parent, SWT.DIALOG_TRIM);
		shell.addShellListener(new ShellAdapter() {
			public void shellClosed(final ShellEvent e) {
				tutorial.endTutotial();
			}
		});
		shell.setBackgroundMode(SWT.INHERIT_DEFAULT);
		shell.setBackgroundImage(new Image(Display.getDefault(), ImagesPath.getImageStream("tutorial_background.png")));
		shell.setLocation(parent.getBounds().width,0);
		shell.setSize(219, RiskGUI.display.getClientArea().height);
		shell.setText("Step four");

		final Label welcomeToRiskLabel = new Label(shell, SWT.CENTER);
		welcomeToRiskLabel.setBounds(0, 10, 213, 88);
		welcomeToRiskLabel.setForeground(SWTResourceManager.getColor(255, 0, 0));
		welcomeToRiskLabel.setFont(SWTResourceManager.getFont("Comic Sans MS", 20, SWT.NONE));
		welcomeToRiskLabel.setText("Step four: To the battlefield...");

		hereYouAreText = new Label(shell, SWT.WRAP);
		hereYouAreText.setBounds(10, 95, 193, 457);
		hereYouAreText.setText("The openned window is the attck window. To start attacking, roll the dice. You'll kill one of the opponent's soldier for each number you rolled which was bigger then his. You will be able to continue the attack until you'll vanquish your opponent or until you'll only left with one soldier on the attacking country.\nIf you won the attck and killed all of the opponent's soldiers, the country is yours! Choose how many soldiers you want to move to the conquered country and click \"End Attack\".");
		hereYouAreText.setFont(SWTResourceManager.getFont("Comic Sans MS", 11, SWT.BOLD));

		final Label label = new Label(shell, SWT.NONE);
		label.addMouseListener(new MouseAdapter() {
			public void mouseDown(final MouseEvent arg0) {
				tutorial.prvStep();
			}
		});
		label.setToolTipText("Attack part one");
		label.setBackgroundImage(new Image(Display.getCurrent(), ImagesPath.getImageStream("left.gif")));
		label.setBounds(90, shell.getBounds().height-100, 58, 58);
		
		final Label label_1 = new Label(shell, SWT.NONE);
		label_1.addMouseListener(new MouseAdapter() {
			public void mouseDown(final MouseEvent arg0) {
				tutorial.nextStep();
			}
		});
		label_1.setToolTipText("Move soldiers");
		label_1.setBackgroundImage(new Image(Display.getCurrent(), ImagesPath.getImageStream("right.gif")));
		label_1.setBounds(150, shell.getBounds().height-100, 58, 58);
		//
	}

	public Shell getShell() {
		return shell;
	}

}
